gdk/surface: Make backends aware of when layout is requested
authorJonas Ådahl <jadahl@gmail.com>
Wed, 2 Dec 2020 08:12:01 +0000 (09:12 +0100)
committerJonas Ådahl <jadahl@gmail.com>
Mon, 7 Dec 2020 08:46:39 +0000 (09:46 +0100)
gdk/gdksurface.c
gdk/gdksurfaceprivate.h

index 9f6bb03e24ff4475808181c631b543781ce9de79..a8f93170ecfc1cf99602fc06519ee75d656d7232 100644 (file)
@@ -1378,8 +1378,13 @@ gdk_surface_layout_on_clock (GdkFrameClock *clock,
 void
 gdk_surface_request_layout (GdkSurface *surface)
 {
+  GdkSurfaceClass *class;
   GdkFrameClock *frame_clock;
 
+  class = GDK_SURFACE_GET_CLASS (surface);
+  if (class->request_layout)
+    class->request_layout (surface);
+
   if (surface->update_freeze_count ||
       gdk_surface_is_toplevel_frozen (surface))
     {
index cc4e1a1a351c1f6627c7998d2e85ae1b9d1b6631..6a4a820faa714a798a2d31f1f3c35c973a0e6ca2 100644 (file)
@@ -170,6 +170,7 @@ struct _GdkSurfaceClass
                                            gboolean        attached,
                                            GdkGLContext   *share,
                                            GError        **error);
+  void         (* request_layout)         (GdkSurface     *surface);
   void         (* compute_size)           (GdkSurface     *surface);
 };